【VBA:Tips】テキストファイル作成と書き込み 您所在的位置:网站首页 vba opentextfile乱码 【VBA:Tips】テキストファイル作成と書き込み

【VBA:Tips】テキストファイル作成と書き込み

2023-12-20 01:17| 来源: 网络整理| 查看: 265

VBAを使って新しいテキストファイルを作成し、テキストデータを書き込む方法は、FileSystemObjectのOpenTextFileを使用することで実現できます。

 

FileSystemObjectは、ファイルシステムオブジェクトを操作するための標準ライブラリであり、ファイルやフォルダの作成や削除、コピー、移動などを簡単に行うことができます。

 

OpenTextFileメソッドは、指定したテキストファイルを作成し、文字列を書き込むことができます。

 

1文字ずつ、1行ずつ、空行の書き込む方法のサンプルソースを用意しました。

 

ここでは、FileSystemObjectのOpenTextFileを使ってVBAでテキストファイルに文字列を書き込みする方法について説明します。

 

スポンサーリンク

【サンプルソース】新規にテキストファイルを作成し、文字列を書き込む

以下は、FileSystemObjectのOpenTextFileを使用してVBAで新しくテキストファイルを作成し、文字列を書き込みするサンプルソースです。

Visual Basic 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 Sub WriteTextFileExample()    Dim fso As Object    Dim file As Object    Dim filePath As String        ' ファイルパスの指定    filePath = "C:\example.txt"        ' FileSystemObjectの生成    Set fso = CreateObject("Scripting.FileSystemObject")        Dim fileName As String    Dim ioMode As Integer    Dim fileCreate As Boolean    Dim fileFormat As Integer        ' ファイルパスを指定    fileName = "D:\200_work\100_sample\AAA\A001.txt"        ' ファイルの開き方を指定    ' 1:参照モード    ' 2:新規書込モード    ' 8:追記モード    ioMode = 2        ' ファイルの作成有無を指定    ' True:作成する    ' False:作成しない    fileCreate = True        ' ファイルの文字コードを指定    ' 0:ASCIIファイルとして開く    ' -1:Unicodeファイルとして開く    ' -2:システムの既定値で開く    fileFormat = -2        ' テキストファイルを開いてファイルオブジェクトを取得    Set file = fso.OpenTextFile(fileName, ioMode, fileCreate, fileFormat)        ' 1文字ずつ書き込む    file.Write "a"    file.Write "b"    file.Write "c"        ' 改行して1行書き込む    file.Write vbCrLf    file.WriteLine "これは1行です。"        ' 空行を書き込む    file.WriteLine        ' ファイルを閉じる    file.Close        ' オブジェクトの解放    Set file = Nothing    Set fso = Nothing        ' メッセージを表示する    MsgBox "テキストファイルの書き込みが完了しました。"    End Sub

上記のサンプルコードでは、まずFileSystemObjectを生成しています。

次に、作成したいテキストファイルのパスを指定しています。

ファイルの開き方で、「新規書込モード」を指定しています。 「新規書込モード」では新規にテキストファイルに文字列を書き込みします。 すでにファイルが存在し文字列が書き込まれている場合、上書きで文字列を書き込みします。

ファイルの作成有無で、「作成する」を指定しています。 すでにファイルが存在する場合、新規で作成し直します。 また、「作成しない」を指定した時に、ファイルが存在しないとエラーが発生します。

ファイルの文字コードで、「システムの既定値」を指定しています。

次に、テキストファイルを作成して、ファイルオブジェクトを取得しています。

Writeメソッドで1文字ずつ文字をテキストファイルに書き込みしています。 Writeメソッドは、改行を書き込みません。 Writeメソッドを使って改行を書き込みしたい場合は、「vbCrlf」を指定します。

WriteLineメソッドは、指定された文字列を書き込み、改行も行末に書き込みします。 WriteLineメソッドになにも指定しない場合、空行が書き込まれます。

 

注意点としては、必ずファイルを閉じるようにしてください。

まとめ

VBAで新しくテキストファイルを作成し、文字列を書き込みする方法として、FileSystemObjectのOpenTextFileを使用する方法を紹介しました。

テキストファイルの書き込み方法として、WriteメソッドとWriteLineメソッドがあります。

状況に応じて使い分けましょう。

 

以上です。

 

あわせて読みたい ACCESSからクエリを指定してデータを取得したい【EXCEL:VBA】ACCESSからクエリを指定してデータを取得したい ひな形シートをコピーして大量に新規ブックを作成したい【EXCEL:VBA】ひな形シートをコピーして大量に新規ブックを作成したい ドット絵で遊ぼう【EXCEL:VBA】ドット絵で遊ぼう

 

最後まで読んでいただきありがとうございました。 この記事をシェアしていただけると喜びます。

 

(PR)自宅で学習できる完全オンラインの動画講座【PCHack講座】 エクセル・ワード・パワポのオンライン学習講座 (PR)おすすめのEXCEL本をご紹介します

本から便利ワザを入手しませんか!?

おすすめ第1位 できる イラストで学ぶ 入社1年目からのExcel VBA おすすめ第2位 Excel 最強の教科書[完全版] 【2nd Edition】 おすすめ第3位 できるYouTuber式 Excel 現場の教科書(「本×動画」で学ぶ新しい独習~180万回再生の実績! ) おすすめ第4位 たった1日で即戦力になるExcelの教科書【増強完全版】 おすすめ第5位 たった1秒で仕事が片づくExcel自動化の教科書【増強改訂版】


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有